package com.nrg.richie.shared;

import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import com.extjs.gxt.ui.client.data.ModelData;


@SuppressWarnings("serial")
public class NodeData /*extends BaseModelData*/ implements ModelData, Serializable {

	Map<String, Object> map = new HashMap<String, Object>();
		
	public NodeData() {	}
	
	public String getId() {
		return get("id");
	}
	public void setId(String id) {
		set("id", id);
	}
	public String getReferenceNumber() {
		return get("referenceNumber");
	}
	public void setReferenceNumber(String referenceNumber) {
		set("referenceNumber", referenceNumber);
	}
	public String getDescription() {
		return get("description");
	}
	public void setDescription(String description) {
		set("description", description);
	}
	public String getPhoneNumber() {
		return get("phoneNumber");
	}
	public void setPhoneNumber(String phoneNumber) {
		set("phoneNumber", phoneNumber);
	}
	public String getPrice() {
		return get("price");
	}
	public void setPrice(String price) {
		set("price", price);
	}
	public String getDisplayPrice() {
		return get("displayPrice");
	}
	public void setDisplayPrice(String displayPrice) {
		set("displayPrice", displayPrice);
	}
	public String getType() {
		return get("type");
	}
	public void setType(String type) {
		set("type", type);
	}
	public String getCity() {
		return get("city");
	}
	public void setCity(String city) {
		set("city", city);
	}
	public String getZip() {
		return get("zip");
	}
	public void setZip(String zip) {
		set("zip", zip);
	}
	public String getStreet() {
		return get("street");
	}
	public void setStreet(String street) {
		set("street", street);
	}
	public String getPreSelected() {
		return get("preSelected");
	}
	public void setPreSelected(String preSelected) {
		set("preSelected", preSelected);
	}	
	
	
	@SuppressWarnings("unchecked")
	@Override
	public <X> X get(String property) {

		return (X)map.get(property);
	}

	@Override
	public Map<String, Object> getProperties() {

		return map;
	}

	@Override
	public Collection<String> getPropertyNames() {
		return map.keySet();
	}

	@SuppressWarnings("unchecked")
	@Override
	public <X> X remove(String property) {
		return (X) map.remove(property);
	}

	@SuppressWarnings("unchecked")
	@Override
	public <X> X set(String property, X value) {
		return (X)map.put(property, value);
	}
	
	
}
